// /common/http.api.js

// 如果没有通过拦截器配置域名的话，可以在这里写上完整的URL(加上域名部分)
// let indexUrl = '/api/index'; Api数量多了就不写在这了

// 此处第二个参数vm，就是我们在页面使用的this，你可以通过vm获取vuex等操作，更多内容详见uView对拦截器的介绍部分：
// https://uviewui.com/js/http.html#%E4%BD%95%E8%B0%93%E8%AF%B7%E6%B1%82%E6%8B%A6%E6%88%AA%EF%BC%9F
const install = (Vue, vm) => {
	
	//自定义Api属性
	vm.$u.api ={}
	
	// 此处没有使用传入的params参数
	//首页
	//let index = (params={})=>{return vm.$u.get(indexUrl.params);}
	vm.$u.api.index = (params = {}) => {
	return vm.$u.get('/api/index', params);
	};
	//认证相关
	vm.$u.api.authLogin = params =>{ return vm.$u.post('/api/auth/login',params);}//登录
	vm.$u.api.register = params => {
		return vm.$u.post('/api/auth/register',params)
	}//注册
	vm.$u.api.authOssToken = ()=> vm.$u.get('/api/auth/oss/token')//获取osstoken
	vm.$u.api.logout = ()=> vm.$u.post('/api/auth/logout')//退出登录
	
	
	
	//用户相关的
	vm.$u.api.userInfo = () =>{return vm.$u.get('/api/user')}//用户详情
	vm.$u.api.userInfoUpdate = () =>{return vm.$u.put('/api/user')}//修改用户信息
	vm.$u.api.userAvatar = params => vm.$u.patch('/api/user/avatar',params) //修改用户图片
	
	
	//商品相关的
	vm.$u.api.getgoodsInfo = id => vm.$u.get(`/api/goods/${id}`)//商品详情
	vm.$u.api.getgoodsCollect = id => vm.$u.post(`/api/collects/goods/${id}`)//收藏商品
	vm.$u.api.getgoodsList = (params = {}) => vm.$u.get('/api/goods',params)//商品列表

	
	//购物车相关的
	vm.$u.api.cartAdd = params => vm.$u.post('/api/carts',params)//添加商品进购物车
	vm.$u.api.cartList = () => vm.$u.get('/api/carts')//获取购物车
	
	
	// 将各个定义的接口名称，统一放进对象挂载到vm.$u.api(因为vm就是this，也即this.$u.api)下
	//这样写会有点麻烦，直接在上面写好
	// vm.$u.api = {
	// 	index,
	// 	authLogin
	// };
}

export default {
	install
}